// + 该文件提供具体的数据库的相关操作
import type { ISurveyDB } from "@/types";
import { surveysDB } from "./db";

// + 提供数据库操作的函数
export default {
  /**
   * 保存问卷
   * @param data 问卷数据
   * @returns 问卷id
   */
  saveSurvey: async (data: ISurveyDB) => {
    return await surveysDB.surveys.add(data);
  },

  /**
   * 获取所有问卷
   * @returns 问卷列表
   */
  getAllSurvey: async () => {
    return await surveysDB.surveys.toArray();
  },

  /**
   * 根据id获取问卷
   * @param id 问卷id
   * @returns 问卷
   */
  getSurveyById: async (id: number) => {
    return await surveysDB.surveys.get(id);
  },

  /**
   * 根据id删除问卷
   * @param id 问卷id
   * @returns 是否删除成功
   */
  deleteSurvey: async (id: number) => {
    return await surveysDB.surveys.delete(id);
  },

  /**
   * 根据id更新问卷
   * @param id 问卷id
   * @param data 问卷数据
   * @returns 是否更新成功
   */
  updateSurvey: async (id: number, data: Partial<ISurveyDB>) => {
    return await surveysDB.surveys.update(id, data);
  },
};
